﻿<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>ORDGetFeatureDefinitions</Title>
      <Author>innovoCAD</Author>
      <Description>Code snippet for getting FeatureDefinitions string name list.</Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>ORDGetFeatureDefinitions</Shortcut>
    </Header>
    <Snippet>
     <References>
        <Reference>
          <Assembly>Bentley.CifNET.GeometryModel.SDK.4.0</Assembly>
        </Reference>
      </References>
      <Imports>
	  <Import>
          <Namespace>System.Collections.Generic</Namespace>
        </Import>
        <Import>
          <Namespace>SDK = Bentley.CifNET.GeometryModel.SDK</Namespace>
        </Import>
      </Imports>	
      <Code Language="vb" Delimiter="$"><![CDATA[    ''' <summary>Get FeatureDefinitions string name list.</summary>
    Private ReadOnly Property GetFeatureDefinitions As List(Of String)
        Get
            Dim featureDefinitionNames As List(Of String) = New List(Of String)()

            'Checking for Active SDK connection and FeatureDefinitions nullification
            If SDKCon.GetActive() Is Nothing Or SDKCon.GetActive().FeatureDefinitions Is Nothing Then
                featureDefinitionNames.Add("None")
            Else
                For Each featureDefinition As SDK.FeatureDefinition In SDKCon.GetActive().FeatureDefinitions
                    If Not String.IsNullOrEmpty(featureDefinition.Name) Then featureDefinitionNames.Add(featureDefinition.Name)
                Next
            End If

            featureDefinitionNames.Sort()
            Return featureDefinitionNames
        End Get
    End Property]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>